11526
10486
Ich habe gerade Python 3.6.1 für MacOS X installiert
Wenn ich versuche, die Konsole auszuführen (oder etwas mit Python3 auszuführen), wird dieser Fehler ausgelöst:
AttributeError: Modul 'enum' hat kein Attribut 'IntFlag'
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Fehler beim Importieren des Site-Moduls
Traceback (letzter Anruf zuletzt):
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", Zeile 544, in 
Main()
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", Zeile 530, in main
bekannte_Pfade = addusersitepackages (bekannte_Pfade)
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", Zeile 282, in addusersitepackages
user_site = getusersitepackages ()
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", Zeile 258, in getusersitepackages
user_base = getuserbase () # Dadurch wird auch USER_BASE festgelegt
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", Zeile 248, in getuserbase
USER_BASE = get_config_var ('Benutzerbasis')
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", Zeile 601, in get_config_var
return get_config_vars (). get (name)
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", Zeile 580, in get_config_vars
_osx_support importieren
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", Zeile 4, in 
import re
Datei "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", Zeile 142, in 
Klasse RegexFlag (enum.IntFlag):
AttributeError: Modul 'enum' hat kein Attribut 'IntFlag'
Die Klasse IntFlag existiert in enum.py. Warum wird der AttributeError ausgelöst? 
Dies liegt daran, dass Ihre Aufzählung nicht das Standardmodul für Bibliotheksaufzählungen ist. Sie haben wahrscheinlich das Paket enum34 installiert.
Eine Möglichkeit, dies zu überprüfen, besteht darin, die Eigenschaft enum .__ file__ zu überprüfen
Enum importieren
print (enum .__ file__)
# Der Standardspeicherort der Bibliothek sollte ungefähr so ​​sein
# /usr/local/lib/python3.6/enum.py
Seit Python 3.6 ist die enum34-Bibliothek nicht mehr mit der Standardbibliothek kompatibel. Die Bibliothek ist ebenfalls nicht erforderlich, sodass Sie sie einfach deinstallieren können.
pip deinstallieren -y enum34
Wenn Sie den Code benötigen, um auf Python-Versionen <= 3.4 und> 3.4 ausgeführt zu werden, können Sie versuchen, Enum-Kompatibilität als Voraussetzung zu verwenden. Enum34 wird nur für ältere Python-Versionen ohne die Standardbibliotheks-Enumeration installiert.
|
Ich bin mir nicht sicher, ob Sie dieses Problem noch haben. Ich hatte ein ähnliches Problem und konnte es einfach durch Deaktivieren von PYTHONPATH beheben
$ PYTHONPATH nicht gesetzt
|
Bei mir trat dieser Fehler nach der Installation der gcloud-Komponente app-engine-python auf, um sie in pycharm zu integrieren. Die Deinstallation des Moduls hat geholfen, auch wenn pycharm jetzt nicht in die App-Engine hochgeladen wird.
|
Wenn jemand hierher kommt, weil dieser Fehler beim Ausführen eines Python 3.7-Standardumgebungsprojekts der Google App Engine in PyCharm auftritt, müssen Sie nur noch etwas tun
Stellen Sie sicher, dass die auszuführende Konfiguration für Flask und nicht für die Google App Engine-Konfiguration gilt.
Deaktivieren Sie anschließend die Google App Engine-Unterstützung unter Einstellungen >> Sprachen und Framework >> Google App Engine
Der Grund ist wie unter diesem Link
Das übergeordnete Ziel ist, dass Ihre App vollständig portabel ist und in jeder Standard-Python-Umgebung ausgeführt werden kann. Sie schreiben eine Standard-Python-App, keine App Engine-Python-App. Im Rahmen dieser Verschiebung müssen Sie keine proprietären App Engine-APIs und -Dienste mehr für die Kernfunktionalität Ihrer App verwenden. Derzeit sind App Engine-APIs in der Python 3.7-Laufzeit nicht verfügbar.
Ich denke, wenn wir ein Python 3.7-Projekt in PyCharm als Google App Engine-Projekt erstellen, versucht es immer noch, dasselbe zu tun wie für eine Python2.7-App
|
HAFTUNGSAUSSCHLUSS: Bitte, @ juanpa.arrivillaga, wenn Sie diese Antwort sehen, können Sie gerne Ihre eigene schreiben und ich werde diesen Beitrag entfernen.
@ juanpa.arrivillaga hatte oben erwähnt:
Gibt es zufällig einen Dateinamen enum.py in Ihrem Arbeitsverzeichnis?
Dies war das Problem, auf das ich gestoßen bin. Ich kannte das Enum-Modul auf Python zu diesem Zeitpunkt nicht und hatte meine Testdatei enum.py benannt.
Da der Dateiname der Modulname ist, gab es einen Konflikt. Weitere Informationen zu Modulen finden Sie hier: https://docs.python.org/2/tutorial/modules.html
|
Das Deaktivieren von "Google App Engine Support" in den Pycharm-Einstellungen hat dieses Problem für mich behoben.
|
Die Installation von Version 1.1.8 von enum34 hat bei mir funktioniert.
Ich konnte dies beheben, indem ich pumroject.toml enum34 = "== 1.1.8" hinzufügte.
Anscheinend hatte enum34 eine Funktion in v1.1.8, die diesen Fehler vermieden hat, aber
Dies ging in Version 1.1.9 + zurück. Dies ist jedoch nur eine Problemumgehung. Das
Eine bessere Lösung wäre, wenn Pakete Umgebungsmarkierungen verwenden
Sie müssen enum34 überhaupt nicht installieren, es sei denn, dies wird benötigt.
Quelle: https://github.com/python-poetry/poetry/issues/1122
|
Die Antwort von Håken Lid hat mir geholfen, mein Problem zu lösen (danke!), In meinem Fall in Python3.7, in dem Flask in einem Docker-Container ausgeführt wird (FROM tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7).
In meinem Fall wurde enum34 von einer anderen Bibliothek installiert (pip install smartsheet-python-sdk).
Für diejenigen, die mit einem ähnlichen Docker-Container-Problem kommen, ist hier meine letzte Docker-Datei (auf die entsprechenden Zeilen reduziert):
AUS Tiangolo / Uwsgi-Nginx-Kolben: Python3.7-Alpine3.7
...
RUN pip install -r Anforderungen.txt
RUN pip deinstallieren -y enum34
...
|
Falls Sie PYTHONPATH sowohl für Python2 als auch für Python3 behalten müssen, können Sie Alias-Anweisungen schreiben, um den richtigen PYTHONPATH in Ihrem bash_profile festzulegen:
Codieren Sie Ihre Variablen PYTHONPATH2 und PYTHONPATH3 in Ihrem ~ / .bash_profile fest und fügen Sie am Ende die folgenden Aliase hinzu:
alias python = 'exportiere PYTHONPATH = $ {PYTHONPATH2}; python'
alias python3 = 'exportiere PYTHONPATH = $ {PYTHONPATH3}; python3'
Mein Python (bezieht sich auf Python2), da ich Python2 häufiger benutze.
|
Wann immer ich dieses Problem bekam:
AttributeError: Modul 'enum' hat kein Attribut 'IntFlag'
einfach zuerst führe ich den Befehl aus:
PYTHONPATH deaktiviert
und dann meinen gewünschten Befehl ausführen und dann Erfolg haben.
|
Ich habe pip install  --ignore-installierte enum34 verwendet
Suchen Sie nach der Installation Ihrer erforderlichen Bibliothek während des Builds nach Warnungen.
Ich habe einen Fehler wie diesen erhalten: Verwenden von Legacy setup.py für die Zukunft installieren, da das Paket 'Rad' nicht installiert ist. FEHLER: pyejabberd 0.2.11 hat die Anforderung enum34 == 1.1.2, aber Sie haben enum34 1.1.10, das nicht kompatibel ist .
Um dieses Problem zu beheben, führen Sie jetzt den folgenden Befehl aus: pip freeze | grep enum34. Dadurch erhalten Sie die Version der installierten enum34. Deinstallieren Sie es jetzt per Pip. Deinstallieren Sie enum34 und installieren Sie die erforderliche Version als pip install "enum34 == 1.1.20" neu.
|
Wenn Sie dieses Problem beim Ausführen von Tests in PyCharm haben, stellen Sie sicher, dass das zweite Kontrollkästchen im Feld deaktiviert istKonfigurationen.
|
Ich habe Python 2 und Python 3 auf meinem Computer installiert. Aus irgendeinem seltsamen Grund habe ich im sys.path von Python 3 auch einen Pfad zum Sitepackage-Bibliotheksverzeichnis von Python2, wenn das re-Modul aufgerufen wird. Wenn ich Python 3 ausführe und enum importiere und drucke (enum .__ file__), zeigt das System diesen Python 2-Pfad zu Site-Paketen nicht an. Ein sehr grober und schmutziger Hack ist es also, das Modul, in das Enum importiert wird, direkt zu ändern (folgen Sie den Traceback-Pfaden) und den folgenden Code unmittelbar vor dem Import von Enum einzufügen:
sys importieren
für i, p in enumerate (sys.path):
wenn "python27" in p.lower () oder "python2.7" in p.lower (): sys.path.pop (i)
Enum importieren
Das hat mein Problem gelöst.
|
Sogar ich hatte dieses Problem beim Ausführen von python -m grpc_tools.protoc --version
Musste den PYTHONPATH bis Site-Pakete setzen und alle Eingabeaufforderungsfenster herunterfahren und es funktionierte. Hoffe, es hilft für gRPC-Benutzer.
|
Ich hatte dieses Problem in Ubuntu20.04 in Jupyterlab in meinem virtuellen Env-Kernel mit Python3.8 und Tensorflow 2.2.0. Fehlermeldung war
Traceback (letzter Anruf zuletzt):
Datei "/usr/lib/python2.7/runpy.py", Zeile 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
Datei "/usr/lib/python2.7/runpy.py", Zeile 72, in _run_code
Exec-Code in run_globals
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel_launcher.py", Zeile 15, in 
aus ipykernel Kernelapp als App importieren
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/__init__.py", Zeile 2, in 
von .connect import *
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/connect.py", Zeile 13, in 
aus IPython.core.profiledir ProfilDir importieren
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/__init__.py", Zeile 48, in 
aus der Anwendung .core.application importieren
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/core/application.py", Zeile 23, in 
aus der Importanwendung traitlets.config.application catch_config_error
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/__init__.py", Zeile 1, in 
aus .traitlets importieren *
Datei "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/traitlets.py", Zeile 49, in 
Enum importieren
ImportError: Kein Modul mit dem Namen enum
Problem war, dass in symbolischer Verknüpfung in / usr / bin / python auf python2 zeigte. Lösung:
cd / usr / bin /
sudo ln -sf python3 python
Hoffentlich wird die Verwendung von Python 2 bald vollständig eingestellt.
|
Ich habe dieses Problem bei der Installation der Transformator-Bibliothek von HuggingFace erhalten. Dies lag daran, dass das Paket enum34 in meiner Umgebung installiert wurde, das die in Python integrierte Aufzählung überschrieb. Dieses Paket wurde wahrscheinlich aus Gründen der Vorwärtskompatibilität installiert, die mit Python 3.6+ nicht mehr benötigt werden. Die Lösung ist also einfach:
pip deinstallieren -y enum34
|
Leider hat mir keiner der Vorschläge geholfen, aber nach einigem googeln
pip install aenum
löste es für mich
|
Wenn jemand dieses Problem hat, wenn er versucht, den Jupyter-Kernel von einem virtuellen Kern aus auszuführen, fügen Sie einfach den richtigen PYTHONPATH zu kernel.json Ihres virtuellen Kerns hinzu (Beispiel Python 3):
{
"argv": [
"/usr/local/Cellar/python/3.6.5/bin/python3.6",
"-m",
"ipykernel_launcher",
"-f",
"{Verbindungsdatei}"
],
"display_name": "Python 3 (TensorFlow)",
"Sprache": "Python",
"env": {
"PYTHONPATH": "/Users/dimitrijer/git/mlai/.venv/lib/python3.6:/Users/dimitrijer/git/mlai/.venv/lib/python3.6/lib-dynload:/usr/local/ Cellar / python / 3.6.5 / Frameworks / Python.framework / Versions / 3.6 / lib / python3.6: /Users/dimitrijer/git/mlai/.venv/lib/python3.6/site-packages "
}}
}}
|
Deine Antwort
StackExchange.ifUsing ("Editor", function () {
StackExchange.using ("externalEditor", function () {
StackExchange.using ("Snippets", function () {
StackExchange.snippets.init ();
});
});
}, "Code Ausschnitte");
StackExchange.ready (function () {
var channelOptions = {
Tags: "" .split (""),
id: "1"
};
initTagRenderer ("". split (""), "" .split (""), channelOptions);
StackExchange.using ("externalEditor", function () {
// Editor muss nach Snippets ausgelöst werden, wenn Snippets aktiviert sind
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("Snippets", function () {
createEditor ();
});
}}
sonst {
createEditor ();
}}
});
Funktion createEditor () {
StackExchange.prepareEditor ({
useStacksEditor: false,
heartbeatType: 'Antwort',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: wahr,
showLowRepImageUploadWarning: true,
Ruf zu PostImages: 10,
bindNavPrevention: true,
Postfix: "",
imageUploader: {
brandingHtml: "Powered by \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class =" svg-icon "width =" 50 "height =" 18 "viewBox = "0 0 50 18" fill = "none" xmlns = "http: //www.w3.org/2000/svg" \ u003e \ u003cpath d = "M46.1709 9.17788C46.1709 8.26454 46.2665 7.94324 47.1084 7.58816C47.4091 7.46349 47.7169 7.36433 48.0099 7.26993C48.9099 6.97997 49.672 6.73443 49.672 5.93063C49.672 5.22043 48.98324,61182 48,1414 4,61182C47,4335 4,61182 46,7256 4,91628 46,0943 5,50789C45,7307 4,9328 45,2525 4,66231 44,6595 4,66231C43,6264 4,66231 43,1481 5,28821 43,1481 6,909048V11,9512C43,1348 / \ u003e \ u003cpath d = \ "M32.492 10.1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 38.34.6 .5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.102 \ "clip-rule =" evenodd "d =" M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.66231 29.4502 4.132 4.9497 8 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4901 12.4121 12.983C28.1301 14.4373 27.2502 15.2321 25.777 15.2321C24.8349 15.2321 24.1352 14.9821 23.5661 14.7787C23.176 14.6393 22.8472 14.5218 22.5437 14.5218C21.7977 14.5218 21.2429 15.0123 21.2429 21.2429 21.629 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7.94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \ "/ \ u003e \ u003 13.8962C19.3298 13.8962 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.62866C15.1594 4.62866 14.279 4.98375 13.3609 5.88013C12.653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.62866 8.57809 4.89931 7.9466 5.5079C7.58314 4.9328 7.10506 4.66232 6.51203 4.66232C5.47873 4.66232 5.00066 5.28821 5.00066 6.59049V11.9512C5.0007 133.25 0232 7.58817 8.44431 6.91179 9.53458 6.91179C10.5104 6.91179 10.893 7.58817 10.893 8.94108V11.9512C10.893 13.2535 11.3711 13.8962 12.4044 13.8962C13.4375 13.8962 13.9157 13.2535 13.9157 11.51291.9159 13.9157 13.9157 13.9157 13.9157. V11.9512Z \ "/ \ u003e \ u003cpath d =" M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 1.82471 4.66232C0.791758 4.66232 0.313354 5.28821 0.313354 6.59049V11.9512C0.313523 13.2512 3.31675 11.9512V6.59049Z "/ \ u003e" u003cpath d = "M1.87209 0.400291C0.843612 0.400291 0 1.1159 0 1.98861C0 2.87869 0.822846 3.57676 1.87209 3.57676C2.90056 3.57676 3.7234 2.9 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z "fill =" # 1BB76E "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e",
contentPolicyHtml: "Benutzerbeiträge, lizenziert unter \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (Inhaltsrichtlinie) \ u003c / a \ u003e",
allowUrls: true
},
onDemand: wahr,
discardSelector: ".discard-answer"
, instantShowMarkdownHelp: true, enableTables: true, enableSnippets: true
});
}}
});
Vielen Dank für Ihre Antwort auf Stack Overflow!
Bitte beantworten Sie die Frage unbedingt. Geben Sie Details an und teilen Sie Ihre Forschung!
Aber vermeiden Sie ...
Um Hilfe bitten, Klarheit schaffen oder auf andere Antworten antworten.
Aussagen auf der Grundlage von Meinungen machen; Unterstützen Sie sie mit Referenzen oder persönlichen Erfahrungen.
Weitere Informationen finden Sie in unseren Tipps zum Schreiben großartiger Antworten.
Entwurf gespeichert
Entwurf verworfen
Anmelden oder anmelden
StackExchange.ready (function () {
StackExchange.helpers.onClickDraftSave ('# login-link');
});
Melden Sie sich mit Google an
Melde dich über Facebook an
Melden Sie sich mit E-Mail und Passwort an
einreichen
Post als Gast
Name
Email
Erforderlich, aber nie gezeigt
StackExchange.ready (
function () {
StackExchange.openid.initPostLogin ('. New-post-login', 'https% 3a% 2f% 2fstackoverflow.com% 2fquestions% 2f43124775% 2fwhy-python-3-6-1-throw-attributeerror-module-enum-has- no-attribute-intflag% 23new-answer ',' question_page ');
}}
);
Post als Gast
Name
Email
Erforderlich, aber nie gezeigt
Veröffentlichen Sie Ihre Antwort
Verwerfen
Durch Klicken auf "Antwort posten" stimmen Sie unseren Nutzungsbedingungen, Datenschutzbestimmungen und Cookie-Richtlinien zu
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen mit dem Tag python python-3.x enums python-3.6 attributeerror oder stellen Sie Ihre eigene Frage.